package com.dingreading.cloud.soms.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.RelationOneToOne;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 会员线索
 */
@Data
public class MemberClueDto implements Serializable {

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /**
     * 出生日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date dateOfBirth;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date editTime;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date storeStatusTime;

    /**
     * uuid
     */
    private String uid;

    /**
     * 真实全名
     */
    private String fullName;

    /**
     * 系统名称
     */
    private String memberName;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 家长联系电话
     */
    private String mob;

    /**
     * 学校名称
     */
    private String schoolName;

    /**
     * 小区名称
     */
    private String houseName;

    /**
     * 性别 女:0，男:1，未知:2
     */
    private Integer sex;

    /**
     * 学校ID
     */
    private Long schoolId;

    /**
     * 年级，每年自动增长，可以手动调整
     * 幼儿园：小:-3，中:-2，大-1；小学：一:1，二:2，三:3，四:4，五:5，六:6；初中：初一:7，初二:8；未知:0
     */
    private Integer grade;

    /**
     * 社团
     */
    private Integer classNum;

    /**
     * 小区ID
     */
    private Long subdistrictId;

    /**
     * 门店ID
     */
    private Long storeId;

    /**
     * 公司uid
     */
    private String corpUid;

    /**
     * 门店uid
     */
    private String storeUid;

    /**
     * 门店名称
     */
    private String storeName;

    /**
     * 会员级别
     */
    private Integer memberLevel;

    /**
     * 是否禁用
     * 1.启用 0.禁用
     */
    private Integer enabled;

    /**
     * 状态
     */
    private String status;

    /**
     * 读书本数
     */
    private Integer readBooks;

    /**
     * 读书天数
     */
    private Integer readDays;

    /**
     * 读书字数
     * 单位：万字
     */
    private Double readWords;

    /**
     * 在店状态
     * 1.在店 2.离店
     */
    private Integer storeStatus;

    /**
     * 照片代码，用于人脸识别
     */
    private String photoCode;

    /**
     * 是否上传人脸识别
     * -1或null:未上传 1：已上传
     */
    private Integer faceUpStatus;

    /**
     * 人脸数据id（备用）
     */
    private String faceId;

    /**
     * 人脸样本img
     */
    private String faceImg;

    /**
     * 会员收费方式名
     */
    private String costName;

    /**
     * 导读员id
     */
    private Long supervisorId;

    /**
     *
     */
    private String tmpServices;

    /**
     * 客户来源
     */
    private String customSource;

    /**
     * 客户来源备注
     */
    private String customSourceRemark;

    /**
     * 异业渠道uid
     */
    private String channelUid;

    /**
     * 异业渠道名称
     */
    private String channelName;

    /**
     * 数据来源 store:门店录入,xcx:小程序录入,markt:市场录入
     */
    private String source;

    /**
     * 转介绍人uid
     */
    private String refererMemberUid;

    /**
     * 转介绍人姓名
     */
    private String refererMemberName;

    /**
     * 市场人员uid
     */
    private String refererStaffUid;

    /**
     * 市场人员昵称
     */
    private String refererStaffName;

    /**
     * 市场人员电话
     */
    private String refererStaffPubPhone;

    /**
     * 市场人员电话
     */
    private String refererStaffPriPhone;

    /**
     * 市场人员真实姓名
     */
    private String refererStaffFullName;

    /**
     * 跟进人uid
     */
    private String followStaffUid;

    /**
     * 跟进人姓名
     */
    private String followStaffName;

    /**
     * 最近的跟进uid
     */
    @ApiModelProperty(value = "最近的跟进uid")
    private String lastFollowUid;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date followTime;

    /**
     * 创建人uid
     */
    private String addStaffUid;

    /**
     * 创建人姓名
     */
    private String addStaffName;
    private String addNickName;

    /**
     * 更新人uid
     */
    private String lastStaffUid;

    /**
     * 更新人姓名
     */
    private String lastStaffName;

    private String lastNickName;

    /**
     * 线索状态
     * 0.线索 -1.无效 1.有效
     */
    private Integer validStatus;

    /**
     * 来源门店uid
     */
    private String fromStoreUid;

    /**
     * 来源门店名称
     */
    private String fromStoreName;

    /**
     * 微信号
     */
    private String wxName;

    /**
     * 最近的跟进记录
     */
    @RelationOneToOne(
            selfField = "lastFollowUid",
            targetTable = "member_follow",
            targetField = "uid"
    )
    private MemberFollowDto follow;

//    private String lastFollowContent;
//    private String lastFollowTime;
//    private String lastFollowStaffName;
}
